From 1652d36bbe2108109159bf62ec11be2736351c02 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Fri, 16 Jul 2010 13:51:27 +0100 Subject: [PATCH] xen: Send the debug VIRQ to guests after the rest of the domain dump is done. Send the debug VIRQ to guests after the rest of the domain dump is done. This stops all the 'q' debug-key output getting interleaved with the debug-virq output from a pv-ops dom0 kernel. Signed-off-by: Tim Deegan --- xen/common/keyhandler.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c index 058d3e3a89..f05bde01ff 100644 --- a/xen/common/keyhandler.c +++ b/xen/common/keyhandler.c @@ -255,7 +255,7 @@ static void dump_domains(unsigned char key) d->handle[ 8], d->handle[ 9], d->handle[10], d->handle[11], d->handle[12], d->handle[13], d->handle[14], d->handle[15], d->vm_assist); - for (i = 0 ; i < NR_DOMAIN_WATCHDOG_TIMERS; i++) + for ( i = 0 ; i < NR_DOMAIN_WATCHDOG_TIMERS; i++ ) if ( test_bit(i, &d->watchdog_inuse_map) ) printk(" watchdog %d expires in %d seconds\n", i, (u32)((d->watchdog_timer[i].expires - NOW()) >> 30)); @@ -268,7 +268,8 @@ static void dump_domains(unsigned char key) printk("VCPU information and callbacks for domain %u:\n", d->domain_id); - for_each_vcpu ( d, v ) { + for_each_vcpu ( d, v ) + { printk(" VCPU%d: CPU%d [has=%c] flags=%lx poll=%d " "upcall_pend = %02x, upcall_mask = %02x ", v->vcpu_id, v->processor, @@ -283,7 +284,15 @@ static void dump_domains(unsigned char key) arch_dump_vcpu_info(v); periodic_timer_print(tmpstr, sizeof(tmpstr), v->periodic_period); printk(" %s\n", tmpstr); - printk(" Notifying guest (virq %d, port %d, stat %d/%d/%d)\n", + } + } + + for_each_domain ( d ) + { + for_each_vcpu ( d, v ) + { + printk("Notifying guest %d:%d (virq %d, port %d, stat %d/%d/%d)\n", + d->domain_id, v->vcpu_id, VIRQ_DEBUG, v->virq_to_evtchn[VIRQ_DEBUG], test_bit(v->virq_to_evtchn[VIRQ_DEBUG], &shared_info(d, evtchn_pending)), -- 2.30.2